package com.galaxy.device.domain.convert;

import com.galaxy.device.domain.DeviceChannel;
import com.galaxy.device.domain.bo.DeviceChannelBo;
import com.galaxy.device.domain.vo.DeviceChannelVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 设备通道对象转换器
 */
@Mapper
public interface DeviceChannelConvert {

    DeviceChannelConvert INSTANCE = Mappers.getMapper(DeviceChannelConvert.class);

    /**
     * 实体转BO
     */
    DeviceChannelBo convert(DeviceChannel bean);

    /**
     * 实体列表转BO列表
     */
    List<DeviceChannelBo> convertList(List<DeviceChannel> list);

    /**
     * 实体转VO
     */
    DeviceChannelVo convertVo(DeviceChannel bean);

    /**
     * 实体列表转VO列表
     */
    List<DeviceChannelVo> convertVoList(List<DeviceChannel> list);

    /**
     * BO转实体
     */
    DeviceChannel convert(DeviceChannelBo bo);

    /**
     * BO列表转实体列表
     */
    List<DeviceChannel> convertListBo(List<DeviceChannelBo> list);

    DeviceChannelBo convert(DeviceChannelVo vo);
} 